package cn.lg.soar.system.api.service;

import cn.lg.soar.core.util.InnerSerializeUtils;

/**
 * 用户配置接口
 * @author luguoxiang
 * @date 2021-08-11
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface IUserConfigApi {

    /**
     * 获取系统配置
     * @param userId
     * @param code
     * @return
     */
    String get(long userId, String code);

    /**
     * 获取系统配置
     * @param userId
     * @param code
     * @param tClass
     * @return
     * @param <T>
     */
    default <T>T get(long userId, String code, Class<T> tClass) {
        return InnerSerializeUtils.parseObject(get(userId, code), tClass);
    }

    /**
     * 设置
     * @param userId
     * @param code
     * @param value
     * @return
     */
    boolean set(long userId, String code, String value);

}
